package com.xique.park.mapper.client;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xique.park.bean.domain.client.ParkClientUser;
import com.xique.park.bean.request.client.ClientUserListRequest;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 岗亭用户Mapper接口
 *
 * @author caogq
 * @date 2021-07-20
 */
@Repository
public interface ParkClientUserMapper {

    /**
     * 查询岗亭用户
     *
     * @param id 岗亭用户ID
     * @return 岗亭用户
     */
    ParkClientUser selectParkClientUserById(Long id);

    /**
     * 查询岗亭用户列表
     *
     * @param parkClientUser 岗亭用户
     * @return 岗亭用户集合
     */
    List<ParkClientUser> selectParkClientUserList(ParkClientUser parkClientUser);

    /**
     * 新增岗亭用户
     *
     * @param parkClientUser 岗亭用户
     * @return 结果
     */
    int insertParkClientUser(ParkClientUser parkClientUser);

    /**
     * 修改岗亭用户
     *
     * @param parkClientUser 岗亭用户
     * @return 结果
     */
    int updateParkClientUser(ParkClientUser parkClientUser);

    /**
     * 删除岗亭用户
     *
     * @param id 岗亭用户ID
     * @return 结果
     */
    int deleteParkClientUserById(Long id);

    /**
     * 批量删除岗亭用户
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteParkClientUserByIds(String[] ids);

    /**
     * 分页查询岗亭用户
     *
     * @param page   分页条件
     * @param id     岗亭用户ID
     * @param parkId 车场id
     * @return 查询结果
     */
    IPage<ParkClientUser> selectPageList(@Param("page") Page<ParkClientUser> page,
                                         @Param("id") Long id,
                                         @Param("parkId") Long parkId);

    /**
     * 查询岗亭用户列表
     *
     * @param request /
     * @return java.util.List<com.xique.park.bean.domain.client.ParkClientUser>
     * @author shd
     * @date 2022/3/19 13:44
     */
    List<ParkClientUser> selectParkClientUserListV1(ClientUserListRequest request);

    /**
     * 根据登录名获取信息
     *
     * @param loginName 登录名
     * @return 信息
     */
    List<ParkClientUser> selectParkClientUserByLoginName(String loginName);
}
